// Set  WekSet

{
  // ES6 提供了新的数据结构 Set。它类似于数组，但是成员的值都是唯一的，没有重复的值。  // 可用作数组去重
  // const set1 = new Set([1, 2, 3, 4, 5, 6]);
  // console.log(set1);
  // // 数组去重
  // let arr = [1, 4, 2, 4, 2, 4, 1, 5, 7];
  // console.log(new Set(arr)); // 1, 4, 2, 5, 7
  //Set 方法
  //add()添加
  //size获取到set中数据长度  类似于数组的length
  // has() 查找某个数据是否存在
  // delete() 删除某个值
  // clear()  清空数据
  // let set2 = new Set([1, 2, 3, 4, 5, 6, 7, 8, 9]);

  // set2.add(10); // 添加的数据必须与原数据重复
  // console.log(set2.has(7)); //true
  // set2.delete(4);
  // // set2.clear();
  // console.log(set2);
  // console.log(set2.size);

  // Set 的遍历

  // for (const k of set2.entries()) {
  //   console.log(k);
  // }

  // WeakSet   //WeakSet 结构与 Set 类似，也是不重复的值的集合。但是，它与 Set 有两个区别。
  // 首先，WeakSet 的成员只能是对象，而不能是其他类型的值。

  let weakset1 = new WeakSet();
  weakset1.add({ name: 'zs' });
  console.log(weakset1);
}
